package com.liu.sunnyday.dao;

import com.liu.sunnyday.pojo.CheckGroup;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;

import java.util.HashMap;
import java.util.List;

/**
 * chance！Time
 *
 * @author liuqian
 * @date 2022-06-12 19:07
 * *
 */
public interface CheckgroupDao {
    //1-分页查询所有
    List<CheckGroup> findPageByCondition(String queryString);

    // void add(@Param("checkGroup") CheckGroup checkGroup,@Param("id") Integer id);

    // 2-新增检查组
    int addCheckgroup(CheckGroup checkGroup);
    //2-在检查组和检查项的中间表新增数据
    void addz(@Param("checkgroup_id") Integer checkgroup_id, @Param("checkitem_id") Integer checkitem_id);
    //3-编辑---查询检查组数据回显
    CheckGroup findById(Integer id);
    //3-编辑检查组---根据检查组id查询检查项ids回显复选框
    List<Integer> findByCheckID(Integer id);

    //4-1编辑检查组--确定提交表单，修改检查组
    void update(CheckGroup checkGroup);
    //4-2 编辑检查组--确定提交表单--修改检查组关联的检查项:先全部解除
    void deleteBygroupId(Integer checkgroup_id);
    //4-3编辑检查组--确定表单--修改中间表数据
    void insertBygroupId(@Param("checkgroup_id") Integer checkgroup_id, @Param("checkitem_id") Integer checkitem_id);

    //5-删除检查组，查询中间表是否有与检查组之关联的数据
    int findCountById(Integer id);
    //5-2删除检查组-删出检查项和检查组中间表的关联
    void deleteItemById(Integer id);
    //5-3删除检查组操作
    void deleteById(Integer id);
}
